package cc.mrbird.febs.system.service;

import cc.mrbird.febs.common.domain.QueryRequest;
import cc.mrbird.febs.system.domain.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @author 福小林
 */
public interface GroupService extends IService<Group> {


    /**
     * 查询小组详情
     *
     * @param group 小组对象
     * @param queryRequest queryRequest
     * @return IPage
     */
    IPage<Group> findGroupDetail(Group group, QueryRequest queryRequest);


    /**
     * 根据科室id查询可以用的小组成员
     * @param deptId 科室id
     * @return 科室可用的成员
     */
    List<Map<String,Object>> getAvailableMemberList(String deptId);


    /**
     * 根据科室id查询可以用的小组成员
     * @param groupId 小组id
     * @return 科室可用的成员
     */
    List<String>  getGroupUserIds( String groupId);


    /**
     * 查询报表数据
     * @return 查询报表数据
     */
    List<Map<String,Object>>  getOutpatientStatistics(Map<String,Object> map);


    /**
     * 查询报表数据
     * @return 查询报表数据
     */
    IPage<HospitalData>   getOutpatientStatisticsPage(Page page,Map<String, Object> searchData);

    List<CostList> getOutpatientStatisticsListPage(Map<String,Object> map);
    List<CostList> getDrugProportion(Map<String,Object> map);
    /**
     * 查询报表数据
     * @return 查询报表数据
     */
    List<Map<String,Object>> getOutpatientStatisticsList(Map<String,Object> map);
    List<Map<String,Object>> getBydeptId(String deptId);

    List<HospitalData> getOutpatientStatisticsPageExcel(Map<String,Object> map);

    List<Map<String, Object>> getGroupListById(String ids);
}
